package com.salelogistics.basic.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.salelogistics.common.core.annotation.Excel;
import com.salelogistics.common.core.web.domain.BaseEntity;

/**
 * 项目基本信息对象 bas_project
 * 
 * @author ruoyi
 * @date 2023-07-21
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class BasProject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目id */
    private Long projectId;

    /** 项目编码 */
    @Excel(name = "项目编码")
    private String projectCode;

    /** 客户 */
    @Excel(name = "客户")
    private Long buildUnitId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 起点 */
    @Excel(name = "起点")
    private String starts;

    /** 终点 */
    @Excel(name = "终点")
    private String ends;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date beginDate;

    /** 截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date closureDate;

    /** 英里 */
    @Excel(name = "英里")
    private BigDecimal miles;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 项目时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "项目时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectTime;

    /** 1 完工 0 未完工 */
    @Excel(name = "1 完工 0 未完工")
    private String projectState;

    /** 最近一次修改人 */
    private String editedBy;

    /** 最近一次修改时间 */
    private String editedTime;

    /** 启用状态 */
    private Long status;

    /** 删除状态 */
    private Long isDeleted;

    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setProjectCode(String projectCode) 
    {
        this.projectCode = projectCode;
    }

    public String getProjectCode() 
    {
        return projectCode;
    }
    public void setBuildUnitId(Long buildUnitId) 
    {
        this.buildUnitId = buildUnitId;
    }

    public Long getBuildUnitId() 
    {
        return buildUnitId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setStarts(String starts) 
    {
        this.starts = starts;
    }

    public String getStarts() 
    {
        return starts;
    }
    public void setEnds(String ends) 
    {
        this.ends = ends;
    }

    public String getEnds() 
    {
        return ends;
    }
    public void setBeginDate(Date beginDate) 
    {
        this.beginDate = beginDate;
    }

    public Date getBeginDate() 
    {
        return beginDate;
    }
    public void setClosureDate(Date closureDate) 
    {
        this.closureDate = closureDate;
    }

    public Date getClosureDate() 
    {
        return closureDate;
    }
    public void setMiles(BigDecimal miles) 
    {
        this.miles = miles;
    }

    public BigDecimal getMiles() 
    {
        return miles;
    }
    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    public String getRemark()
    {
        return remark;
    }
    public void setProjectTime(Date projectTime) 
    {
        this.projectTime = projectTime;
    }

    public Date getProjectTime() 
    {
        return projectTime;
    }
    public void setProjectState(String projectState) 
    {
        this.projectState = projectState;
    }

    public String getProjectState() 
    {
        return projectState;
    }
    public void setEditedBy(String editedBy) 
    {
        this.editedBy = editedBy;
    }

    public String getEditedBy() 
    {
        return editedBy;
    }
    public void setEditedTime(String editedTime)
    {
        this.editedTime = editedTime;
    }

    public String getEditedTime()
    {
        return editedTime;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setIsDeleted(Long isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("projectId", getProjectId())
            .append("projectCode", getProjectCode())
            .append("buildUnitId", getBuildUnitId())
            .append("projectName", getProjectName())
            .append("starts", getStarts())
            .append("ends", getEnds())
            .append("beginDate", getBeginDate())
            .append("closureDate", getClosureDate())
            .append("miles", getMiles())
            .append("remark", getRemark())
            .append("projectTime", getProjectTime())
            .append("projectState", getProjectState())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("editedBy", getEditedBy())
            .append("editedTime", getEditedTime())
            .append("status", getStatus())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
